In the near future, consumers are expected to carry multiple devices that communicate with one another to form small, personal area networks (PANs) that move with the user. In a given area, there may be many users, each with his/her own PAN. The PANs of different users are likely to comprise different devices, use different technologies, and have different resources and capabilities. It would benefit users to make the resources and capabilities of one PAN available to other PANs. For example, one PAN may have Internet access that can be shared with other PANs.
Network interworking allows the sharing of resources between networks so that users in one network can have access to resources in another network. BLUETOOTH and IEEE 802.15 both allow interworking between PANs. However, such interworking typically requires manual configuration and off-line negotiation.
The concept of network composition is gaining acceptance as a viable technique for the seamless and automatic creation of ad-hoc networks without user intervention. Automatic network composition enables interworking between networks “on the fly” in a manner that is transparent to the user. For example, the Ambient Networks Project is currently developing standards for networks called Ambient Networks. An Ambient Network (AN) can be defined as one or more network nodes and/or devices that share a common network control plane called the Ambient Control Space (ACS). The ACS contains all of the network control and management functions, which are organized into functional areas (FAs). Each FA represents a different management task (e.g., QoS, mobility, composition, security, congestion control, etc.). The ACS includes two interfaces: the Ambient Network Interface (ANI) and the Ambient Service Interface (ASI). The ANI enables communication between different Ambient Networks, and the ASI allows access to the services offered by the Ambient Network. The ACS enables automatic composition of networks in a transparent fashion, without manual configuration and off-line negotiation, while taking into account user needs, preferences, locations, and devices.
ANs can host several registries. A registry is any authoritative store of information or repository of data. Examples include Management Information Bases (MIB), relational databases and Context Information Bases (CIB). When ANs compose, the hosted registries need to compose. Registry composition is a sub-process of network composition and provides seamless, autonomous and uniform access to the updated content of all of the registries in the composed network. There are several reasons for performing registry composition. A first reason is that the registries' content may need to compose. Indeed, when ANs compose, the content of the hosted registries may be kept as it is; modified or even merged. Content merging can happen for instance when a new service is proposed by the composed network, by combining elementary services provided by the composing networks. A second reason for performing registry composition is that entities in the composed network may need access to a content hosted by a registry that was in a different network before composition. The interface of such a registry (e.g. SNMP, SQL) may be different from the one used by the interested entity. The granularity and the format of the registry content may also be different from those supported by the interested entity. A third reason for performing registry composition is that new registries may need to be created in order to store the composed content.
The registries to compose may be heterogeneous. They may be of different types (e.g. centralized, distributed), they may store heterogeneous types of information (e.g., raw data vs. aggregated data) that is presented using different formats (e.g., object oriented database, relational database), and they may rely on different interfaces to access the stored information. An interface is either a protocol (e.g. P2P information discovery protocols) or an Application Programming Interface (e.g. UDDI APIs). Registry composition is orchestrated by the Registry Composition Entity (RCE) and can be performed in two main steps, e.g., negotiation of the composition agreement and execution of the agreement.
Registry composition requires dynamic coordination between the control functional entities of the composing networks because these entities need to communicate in order to coordinate and regulate the composition. In order to perform registry composition, a signaling framework is needed.
Various signaling frameworks are available for other types of communication systems. For example, Resource ReSer-Vation Protocol (RSVP) is a resource reservation protocol, for simplex, multicast and unicast data flows. In RSVP, the signaling sessions are defined by the IP addresses of the source and the destination, which prevents RSVP from supporting session mobility. Furthermore, RSVP does not support symbolic names and the signaling is flow dependent. This signaling framework also presents a tight coupling between the signaling semantic (i.e., resources reservation) and the delivery of the signaling messages, which may be undesirable for registry composition.
Session Initiation Protocol (SIP) and H.323 are signaling frameworks associated with call control. SIP is an IETF standard and H.323 is a set of specifications from ITUT. However, SIP is a point-to-point protocol which does not separate the semantic of the signaling application from the message delivery. SIP is also not designed for negotiation and it does not support session mobility. Indeed, if the destination address changes during the same SIP session, there is no way to deal with this change and an error message ‘destination unreachable’ is sent to the entity trying to contact the entity whose address has been changed. H.323 also does not separate transport and signaling functionalities, and it supports neither session mobility nor symbolic names.
Other signaling frameworks include Cross Application Signaling Protocol (CASP), Next Step In Signaling (NSIS) and Generic Ambient Network Signaling (GANS). CASP is a general-purpose signaling protocol suite, which is employed to establish a control state about data flow along its path in the network. This signaling framework addresses the session mobility problem by introducing the concept of a location-independent session identifier. CASP reuses the existing transport and security protocols and decouples message transport from the next signaling hop discovery. NSIS re-uses many CASP concepts, e.g., it is modular, flexible and supports different applications. Furthermore, NSIS enables signaling across different network environments, can be used in different parts of the Internet (e.g., at the edge, in the core, etc.) and supports mobility by allowing efficient service re-establishment after handover. Examples of NSIS-based signaling protocols are the extended RSVP QoS signaling protocol and the middlebox configuration protocol.
GANS is a back-ward compatible generalization of NSIS with extensions including the support of symbolic, names and session mobility and flow independent signaling applications. Signaling applications can address destinations using symbolic names, which are translated by GANS' trans-port layer into corresponding IP addresses. A mechanism is provided to allow dynamic update of the IP-Symbolic name binding.
However, CASP and NSIS do not support both flow-dependent and flow-independent signaling applications, since they only define flow dependent signaling. Moreover, these signaling frameworks do not support symbolic names and, along with GANS, they support only one-to-one communication. Therefore, none of these signaling frameworks CASP, NSIS and GANS are independent of the negotiation model. Furthermore, none of these frameworks provide a signaling application that can be used for registry composition (i.e., none of the designed signaling applications deal with the registry composition specifics).
Accordingly, it would be desirable to provide new signaling frameworks, methods, systems, devices and software associated with network composition.